News Feed Techniques

ABSTRACT

News feed techniques are described. In implementations, content is parsed from one or more emails that are addressed to a user. The parsed content from the email is exposed, automatically and without user intervention, for output in a news feed of the user.

BACKGROUND

Users have access to a wide variety to techniques that may be used to communicate over a network. For example, a user may send emails, communicate via instant messages, post “notes” (e.g., to a wall of a social network), communicate status messages, post to a blog, and so on.

Traditional techniques that were used to perform this communication, however, were provided using different mechanisms. Therefore, a user of these traditional techniques may be forced to interact with a variety of different applications, websites, and so on to receive communications using these different mechanisms, which could lead to user frustration.

SUMMARY

News feed techniques are described. In implementations, content is parsed from one or more emails that are addressed to a user. The parsed content from the email is exposed, automatically and without user intervention, for output in a news feed of the user.

In implementations, a news feed is received at a client device via a network connection. The news feed is output for display in a user interface by the client device, the news feed configured to include a concurrent display of content parsed from one or more emails and social network content from a social network service.

In implementations, content is parsed from one or more communications that are addressed to a user. A verification is formed that is configured to verify that the parsed content is permitted for inclusion in a news feed that involves the user, the news feed configured to include social network content from a social network service. A communication is formed to communicate the formed verification over a network to the user.

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different instances in the description and the figures may indicate similar or identical items.

FIG. 1 is an illustration of an environment in an example implementation that is operable to perform news feed techniques.

FIG. 2 is an illustration of an example system that shows a web service as implementing the news feed techniques.

FIG. 3 is an illustration showing an example implementation in which a user interface is output by a client device of FIG. 1 to include content parsed from one or more emails.

FIG. 4 is a flow diagram that depicts a procedure in an example implementation in which content is parsed from an email and output for display in a news feed at a client device.

FIG. 5 is a flow diagram that depicts a procedure in an example implementation in which a verification technique is described to verify content for inclusion in a news feed.

DETAILED DESCRIPTION

Overview

Social activities, such as comments on photos, being tagging in a photo, receiving a private message, posting status updates, and so on are increasing in popularity amount users of social network services. Although email may describe social activities, this presentation is relegated to display in a separate user interface. Therefore, users of traditional techniques may be forced to navigate between different user interfaces, applications, websites, and so on to interact using these different techniques.

News feed techniques are described. In implementations, communications such as email are leveraged to add additional content to a user's news feed. For example, photos, potential calendar dates of interest, and so on may be parsed from emails addressed to a user for display in a news feed of the user. In an implementation, this content is provided for display in a private feed of the user that is not accessible to other users. In another implementation, this parsed content is provided for display in a public feed (e.g., to one or more friends of the user). For example, the news feed techniques may employ a verification mechanism to verify whether inclusion of the parsed content is permitted for inclusion in the news feed. In this way, the content may be automatically parsed from the emails and the user may then choose which of the content is to be included in the news feed for viewing by other users, such as “friends” of the user. A variety of other techniques are also contemplated, further discussion of which may be found in relation to the following sections.

In the following discussion, an example environment is first described that is operable to perform news feed techniques. Example procedures are then described which may be employed by the example environment. However, it should be readily apparent that the example environment is not limited to performing the example techniques and the example techniques are not limited to performance in the example environment.

Example Environment

FIG. 1 is an illustration of an environment 100 in an example implementation that is operable to employ news feed techniques. The illustrated environment 100 includes a social network service 102, a client device 104, and an email service 106, each of which are communicatively coupled, one to another, over a network 108.

The client device 104 may be configured in a variety of ways. For example, the client device 104 may be configured as a computer that is capable of communicating over the network 108, such as a desktop computer, a mobile station, an entertainment appliance, a set-top box communicatively coupled to a display device, a wireless phone, a game console, and so forth. Thus, the client device 104 may range from full resource devices with substantial memory and processor resources (e.g., personal computers, game consoles) to a low-resource device with limited memory and/or processing resources (e.g., traditional set-top boxes, hand-held game consoles). The client device 104 may also relate to an entity that operates the client device 104. In other words, the client device 104 may describe logical clients that include software in the following discussion. Likewise, the social network service 102 and the email service 106 may be implemented using a variety of different computing devices, examples of which are illustrated as one or more servers.

Although the network 108 is illustrated as the Internet, the network may assume a wide variety of configurations. For example, the network 108 may include a wide area network (WAN), a local area network (LAN), a wireless network, a public telephone network, an intranet, and so on. Further, although a single network 108 is shown, the network 108 may be configured to include multiple networks. For instance, the social network service 102 and the client device 104 may be communicatively coupled via the Internet. Additionally, the social network service 102 and the email service 106 may be communicatively coupled via a corporate intranet. A wide variety of other instances are also contemplated.

The client device 104 is illustrated as including a communication module 110. The communication module 110 is representative of functionality of the client device 104 to communicate via the network 108. For example, the communication module 110 may include browser functionality to interact with the social network service 102 and the email service 106 via the network 108.

The social network service 102 may support a variety of different functionality which is represented by the social network manager module 112. Through the social network manager module 112, for instance, the social network service 102 may support communication of status updates between the client device 104 and another client device that have been specified as friends of each other. Additionally, the specified “friendship” of the social network service 102 may be used as a basis to permit sharing of photos, video, blogs, and so on. Thus, the social network service 102 may use the friend relationship as a permissioning technique to permit or restrict access to content associated with a user's account of the social network service 102.

For instance, the client device 104 may be associated with a user's account of the social network service 102. Through this user account, the client device 104 may be used to specify a friend, such as a user account of the social network service 102 that is accessible via another client device. By doing this, the other client device is permitted to access content associated with the client device 104, such as content associated with an account of the social network service 102 of a user of the client device 104 that provided credentials to access the user account. Although a permissioning technique regarding friends have been described, it should be readily apparent that the social network service 102 may be configured in a variety of ways to support communication between users, such as by communicating status updates to subscribers of a particular user's network feed, exposing content for access by the general public, and so on.

The email service 106 is illustrated as included an email manager module 118 that is representative of functionality regarding email 120, e.g., composing, sending, receiving, and so forth. For example, the email service 106 may be implemented at a business that hosts its own email 120. In another example, the email service 106 may be part of a web service that is accessible via browser functionality, an example of which is shown in relation to FIG. 2.

Additionally, the email service 106, and more particularly the email manager module 118, is also illustrated as including a news feed module 114 that is representative of functionality regarding news feeds. In an implementation, the news feed module 114 may be representative of functionality to generate a news feed 116 for output by a client device 104 that includes content parsed from communications. For example, the email content may be directly sent to a news feed 116 at an email service to be complimentary to the existing news feeds that are obtained directly from third party services.

Content from the email 120 may then be parsed from the email 120 for inclusion in a news feed 116 that is generated by the news feed module 114. In this way, the news feed module 114 may leverage email 120 that is to be sent to a particular user to populate the news feed 116, further discussion of which may be found in relation to the following figures. Although functionality of the news feed module 114 is discussed in relation to the email service 102, this functionality may be implemented by a variety of different entities, such as by the social network service 102, the client device 104 itself, by a stand-alone entity (i.e., an entity other than the social network service 102 or the email service 106), and so on.

Generally, any of the functions described herein can be implemented using software, firmware, hardware (e.g., fixed logic circuitry), manual processing, or a combination of these implementations. The terms “module” and “functionality” as used herein generally represent software, firmware, hardware, or a combination thereof. In the case of a software implementation, the module or functionality represents program code that performs specified tasks when executed on a processing system having one or more processors (e.g., CPU or CPUs). The program code can be stored in one or more computer readable memory devices, e.g., memory or other storage media. The features of the news feed techniques described below are platform-independent, meaning that the techniques may be implemented on a variety of commercial computing platforms having a variety of processors.

FIG. 2 depicts a system 200 in an example implementation showing the social network service 102 and the email service 106 as implemented as part of a web service 202. Although the social network service 102 and the email service 106 are shown as being implemented by a single web service 202, as previously stated these entities may be implemented using different services having different domains, employ different hardware and software resources, and so on. The web service 202 is accessible to the client device 104 via a network, e.g., the network 108 of FIG. 1 via browser functionality.

The news feed module 114 is configured in this example to provide social network content for inclusion in the news feed 116 that is exposed for output by the client device 104. For example, the social network content 204 may be configured to include status updates (which may include posts from a micro-blogging service), notes (e.g., “writings on a wall”), messages, media (e.g., photos and video), links, and so on.

The news feed module 114 may also be configured to provide content from the email 120. For purposes of the following discussion, the email 120 may be representative of one or more emails. Accordingly, the email 120 may be referred to in singular (e.g., the email 120) and plural (e.g., the emails 110) forms.

The email 120 includes a header 206 and content 208. The header 206 includes information that is usable to deliver the email 120, such as an email address of an intended recipient. e.g., the client device 104. The header 206 may also include other information such as an email address of an originator of the email 120, a subject header, and so on.

The content 208 may be representative of a variety of different types of content that may be included in the email 120. For example, the content 208 may include textual content that may be configured in a variety of different ways, such as text of a letter, status updates, sharing information, contact information, and so on. A variety of other textual information is also contemplated, such as billing information, purchase confirmation information, banking information, scheduling information, and so on. The content 208 may also include a variety of non-textual content, such as images, music files, video files, links to other content over the network 108, and so on.

The news feed module 114 may employ a variety of techniques to parse content 208 from the email 120. For example, the news feed module 114 may employ a locating module 212 that is representative of functionality to locate unstructured content 208 from the email 120. For example, the locating module 212 may include logic to locate content 208 that pertains to one or more social activities, such as media, pertains to a date, describes an activity, and so on. Thus, in this example the email 120 is not structured to aid in locating and identifying the types of content 208 included in the email.

In another example, the email 120 may include functionality that identifies the content 208 in the email 120. As illustrated in FIG. 2, for instance, the email 120 is further illustrated as including metadata 210 that describes the content 208 of the email 120. Thus, the metadata 210 may be used to identify the content (e.g., a status update) instead of just formatting that is to be applied to the content (e.g., to bold text).

The metadata 116 may follow a schema that may describe both textual and non-textual content 208 of the email 120. This description may then be leveraged to identify the content 208, e.g., to locate the content 208 that describes social activities. The metadata 210 may be generated using a variety of techniques, such as by an originator of the email 120, by an intermediary (e.g., the email service 106), and so on.

Accordingly, the news feed module 114 may leverage a metadata module 214 that is configured to identify the content 208 using the metadata 210. For example, the metadata 210 may include tags that identify content 208 that pertains to (e.g., originated from) a social network service, such as to identify a post to a wall. The tags 210 may also describe a variety of other activities, such as a location (e.g., for use in a geo-locating service). This content 208 identified by the metadata module 214 using the metadata 210 may then be exposed for inclusion in the news feed 116 of the client device 104. In this way, the news feed 116 may be configured to include social network content 204 as well as content 208 parsed from emails 120, an example of which is described in relation to the following figure.

FIG. 3 is an illustration showing an example user interface 300 that includes a news feed 116 of FIG. 1 that is configured to include social network content 204 and content 208 taken from the email 120 of FIG. 2. The news feed 116 is illustrated as including status updates 302-308 that describe the content.

For example, a first status update 302 describes a communication provided via a social network service, e.g., “Billy wrote on your wall.” The second status update 304 describes a meeting request that was sent via email, e.g., “Sara sent you a meeting request for Saturday.” Likewise, a third status update 306 describes a message sent via a social network service, e.g., “What time are you heading up to the Lake?” and the fourth status update describes content received via email, e.g., “You have received a new photo.” The status updates may also include corresponding profile information (e.g., image and name) and/or may describe the corresponding content (e.g., the thumbnail image of the photo for the fourth status update).

The status updates 302-308 may also be displayed to indicate an origin of the corresponding content. For example, the first and third status updates 302, 306 indicate that the corresponding content was obtained via a social network service via the text “-via Social Network,” whereas the second and fourth status updates 304, 308 indicate that the corresponding content was obtained from email 120.

The user interface 300 is also configured to include functionality regarding settings of the news feed 116. For example, the news feed 116 may include functionality regarding whether content is to be included in a public or private feed. Thus, in this way the user may set whether the content may be viewed publically (e.g., by friends of the user) or is to be viewed privately. A variety of other examples are also contemplated, further discussion of which may be found in relation to the following procedures.

Example Procedures

The following discussion describes news feed techniques that may be implemented utilizing the previously described systems and devices. Aspects of each of the procedures may be implemented in hardware, firmware, or software, or a combination thereof. The procedures are shown as a set of blocks that specify operations performed by one or more devices and are not necessarily limited to the orders shown for performing the operations by the respective blocks. In portions of the following discussion, reference will be made to the environment 100 of FIG. 1, the system 200 of FIG. 2, and the user interface 300 of FIG. 3.

FIG. 4 depicts a procedure 400 in an example implementation in which content is parsed from an email for inclusion in a news feed. Content is parsed from an email to be sent to a user (block 402). As previously described, the content may be parsed in a variety of ways. For example, the news feed module 114 may utilize metadata 210 to identify the content 208, e.g., through tags, by following a schema, and so on. In another example, the news feed module 114 may employ logic to identify text and other content 208 that may be relevant, such as by identifying keywords, dates, types of content (e.g., videos, links), and so forth. A variety of other examples are also contemplated. Additionally, this parsing may be performed by a variety of different entities, such as by a social network service 102, the email service 106, a stand-alone service, the client device 104 itself, and so on.

In one such example, this information is transformed or augmented with other pre-configured information based on the source of the email. For example, if an email is sent with a link such as http://www.youtube.com/watch?v=83YZa83wvZc, it may be converted as follows:

<object width=“480” height=“385”><param name=“movie” value=“http://www.youtube.com/v/ 83YZa83wvZc&hl=en_US&fs=1&”></ param><param name=“allowFullScreen” value=“true”></param><param name=“allowscriptaccess” value=“always”></param><embed src=“http://www.youtube.com/v/ 83YZa83wvZc&hl=en_US&fs=1&” type=“application/x-shockwave-flash” allowscriptaccess=“always” allowfullscreen=“true” width=“480” height=“385”></embed></object> Therefore, this may be sent to the news feed instead of a plain URL to use as a playable video in the feed.

The content from the email is exposed for output in a news feed of the user, automatically and without user intervention (block 404). Continuing with the previous example, the parsing and the exposing may be performed automatically by the news feed module 114 without user interaction. The news feed may be exposed in a variety of ways, such as for viewing using browser functionality, streamed over the network 108, and so on.

The news feed is then received at a client device via a network connection (block 406). The news feed 116, for instance, may be received using one or more of the techniques described previously.

The news feed is output for display in a user interface by the client device, the news feed including content parsed from one or more emails and social network content from a social network service (block 408). As shown in the user interface 300 of FIG. 3, for instance, the content 208 parsed from the email 120 may be displayed as status updates in the news feed 116 concurrently with social network content 204. A variety of different social network content may also be displayed in the news feed, such as status updates including posts from micro-blogs, geo-location information from a social network service, and so on. Thus, in this example the user is provided with a user interface through which information that describes social activities from a variety of different sources may be aggregated into a single view. Further, this view may be private or public, further discussion of which may be found in relation to the following figure.

FIG. 5 depicts a procedure 500 in an example implementation in which a verification technique is employed to verify that parsed content is to be included in a news feed. Content is parsed from one or more emails that are addressed to a user (block 502). As previously stated, a variety of different techniques may be utilized to parse the email to identify content that is likely to be of interest to a user.

A verification is formed to verify that the parsed content is permitted for inclusion in a news feed that involves the user, the news feed configured to include social network content from a social network service (block 504). For example, the verification may include an indication of the content that is to be included in the news feed, where the content originated (e.g., identification of a sender of the email), portions that are selectable to approve or deny permission to include the content in the news feed, and whether the user has chosen to allow email content to show up in their news feed. Thus, in this example the verification may be used to give a user a measure of control of what content is included in a news feed. For instance, the verification may be used to preview content and approve the content for inclusion in a public feed of the user.

A communication is formed to communicate the formed verification over a network to the user (block 506). For example, the verification may be output as a part of a web user interface, as an email, and so on. Thus, in this example the news feed module 114 may leverage content included in emails to describe social activities that are likely of interest to a user and verify whether this content is suitable for inclusion in a news feed 116. A variety of other examples are also contemplated.

CONCLUSION

Although the invention has been described in language specific to structural features and/or methodological acts, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claimed invention. 

1. A method implemented by at least one or more modules at least partially in hardware, the method comprising: parsing content from one or more emails that are addressed to a user; and exposing the parsed content from the email, automatically and without user intervention, for output in a news feed of the user.
 2. A method of claim 1, wherein the parsing is performed in accordance with a metadata schema to read metadata that describes the content of a respective said email.
 3. A method of claim 2, wherein the metadata is included with the respective said email.
 4. A method of claim 2, wherein the metadata is generated by an originator of the respective said email.
 5. A method of claim 1, wherein the parsing is performed to read metadata that describes the content of a respective said email using one or more tags.
 6. A method of claim 1, wherein the parsing is performed to locate the content without using metadata.
 7. A method of claim 1, wherein the news feed also includes social network content.
 8. A method of claim 7, wherein the social network content includes one or more status updates.
 9. A method of claim 7, wherein the social network content originates from one or more other users of the social network that are specified as friends of the user and the news feed is accessible by the one or more other users.
 10. A method of claim 1, wherein the parsing and the exposing are performed by a web service.
 11. A method of claim 1, further comprising outputting a verification to verity that the parsed content is to be included in the news feed.
 12. A method of claim 1, wherein the news feed is private to the user.
 13. A method comprising: receiving a news feed at a client device via a network connection; and outputting the news feed for display in a user interface by the client device, the news feed configured to include a concurrent display of content parsed from one or more emails and social network content from a social network service.
 14. A method of claim 13, wherein the social network content includes one or more status updates communicated via the social network service.
 15. A method of claim 14, wherein the status updates relate to micro-blogging functionality of the social network service.
 16. A method of claim 13, wherein the outputting is performed using browser functionality configured to receive the news feed via an Internet.
 17. A method comprising: parsing content from one or more communications that are addressed to a user; forming a verification that is configured to verify that the parsed content is permitted for inclusion in a news feed that involves the user, the news feed configured to include social network content from a social network service; and forming a communication to communicate the formed verification over a network to the user.
 18. A method of claim 17, wherein the communication is configured to be output in a user interface provided by the social network service.
 19. A method of claim 17, wherein the one or more communications are configured as an email, an SMS text message, or an MMS text message.
 20. A method of claim 17, wherein the parsing is performed based on a metadata schema that specifies how metadata is to describe the content in the email. 